package com.endoc.designpattern.compose;

import java.util.List;

/**
 * 组合模式,把一组相似的对象当作一个单一的对象，为的是减少数据类型
 * 此处让子类去实现getChildren是因为List的实现类有很多种,可以让子类去实例化,然后进行对应的操作
 */
public abstract class Node {
    public String name;

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public abstract void removeNode(Node node);
    public abstract void addNode(Node node);

    /**
     * @return 获取节点
     */
   public abstract List<Node> getChildren();

}
